package JAVA300.第十二章网络编程;

import java.io.BufferedOutputStream;
import java.io.ByteArrayOutputStream;
import java.io.DataOutputStream;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetSocketAddress;

/**
 * 发送端--传输基本类型
 *  * 1.使用DatagramSocket创建发送端，指定端口
 *  * 2，基本类型转成字节数组
 *    3.封装成DatagramPacket包裹，指定目的地
 *  * 4.发送包裹 send（DatagramPacket p）
 *  * 5.释放资源
 */
public class web04_UDP2_Client {
    public static void main(String[] args) throws Exception {
        System.out.println("发送端启动当中。。。。。");
        //1使用DatagramSocket创建发送端，指定端口
        DatagramSocket client = new DatagramSocket(8888);
        //2准备数据，转成字节数组
        //**********************数据转换************参考IO13*******
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        DataOutputStream dos = new DataOutputStream(new BufferedOutputStream(baos));
        //加入数据
        dos.writeUTF("这是发来的基本数据");
        dos.flush();
        byte[] datas = baos.toByteArray();
        //*******************************************************
        //3封装成DatagramPacket包裹，指定目的地,最后的参数InetSocketAddress 封装ip地址和端口，也就是Server端的那个
        DatagramPacket packet = new DatagramPacket(datas,0,datas.length,
                new InetSocketAddress("localHost",9999));
        //4发送包裹 send（DatagramPacket p）
        client.send(packet);
        //5释放资源
        client.close();

    }
}
